3b39bad6cee5880eda292cf769e5233ef3b41631,src/org/jgroups/blocks/GroupRequest.java,GroupRequest,receiveResponse,#Object#Address#,210
Before Change
lock.lock();
try {
Rsp rsp=requests.get(sender);
if(rsp == null)
return;
if(!rsp.wasReceived()) {
boolean responseReceived =(rsp_filter == null) || rsp_filter.isAcceptable(response_value, sender);
rsp.setValue(response_value);
rsp.setReceived(responseReceived);
if(log.isTraceEnabled())
log.trace(new StringBuilder("received response for request ").append(req_id)
.append(", sender=").append(sender).append(", val=").append(response_value));
}
// done=rsp_filter != null && !rsp_filter.needMoreResponses();
done=rsp_filter == null? responsesComplete() : !rsp_filter.needMoreResponses();
if(done && corr != null)
corr.done(req_id);
}
finally {
completed.signalAll(); // wakes up execute()
lock.unlock();
}
checkCompletion(this);
}
After Change
if(done)
return;
Rsp rsp=requests.get(sender);
if(rsp == null)
return;
boolean responseReceived=false;
if(!rsp.wasReceived()) {
if((responseReceived=(rsp_filter == null) || rsp_filter.isAcceptable(response_value, sender)))
rsp.setValue(response_value);
rsp.setReceived(responseReceived);
}
lock.lock();
try {
if(responseReceived)
num_received++;
done=rsp_filter == null? responsesComplete() : !rsp_filter.needMoreResponses();
if(responseReceived || done)
completed.signalAll(); // wakes up execute()
if(done && corr != null)
corr.done(req_id);
}
finally {
lock.unlock();
}
if(responseReceived || done)
checkCompletion(this);
}